The present invention relates generally to telephone switching systems, and in particular, to a method and apparatus for evenly assigning signaling link selection codes to links connecting signaling nodes in a telecommunications network.
Common Channel Signaling (CCS) No. 7 is a method for exchanging information between stored program control system nodes that are interconnected through a network of signaling links. As a part of the signaling network management of CCS No. 7, reconfiguration is accomplished by rerouting signaling traffic to bypass faulty links. Often it is necessary to activate and align new signaling links to restore the required signaling traffic capacity between two signaling points. When a faulty link is restored, traffic must be redistributed to take advantage of the restored capacity and avoid congestion.
In order to share traffic among a set of links to a destination, signaling link selection (SLS) codes are assigned to each link in the set. The messages traveling over the links are addressed to a destination using the SLS codes rather than physical link addresses as a measure of flexibility and to avoid fixed assignments of messages to faulty or unavailable links. The normal or nominal signaling link selection codes are assigned such that the load among the link set is even when all links are in service. When a link in the link set fails, the SLS codes assigned to that faulty link are distributed among the available links in the link set. When a faulty link is restored, it is desirable to reassign SLS codes in a manner such that the SLS codes are evenly distributed among the available links.
One prior system for reassigning SLS codes after restoring a faulty link merely reassigns to the restored link the nominal SLS codes assigned to that link. Unfortunately, this fails to consider the load among the available links and does not provide even SLS distribution. For example, assume there are three available links designated A, B, and C and each link has 12 SLS codes normally assigned to it when all the links are available. A fault occurs in link A and link B, causing all 36 SLS codes to be distributed to link C. Then link B is restored to service, but link A remains unavailable. Under this prior system, link B is reassigned its 12 nominal SLS codes, while link C has 24 SLS codes assigned to it. Obviously, the SLS codes are not distributed equally in this scenario, potentially causing traffic congestion problems.
Another prior system reassigns SLS codes to a link set after restoration of a faulty link by first reassigning the nominal SLS codes to the restored link and then attempting in a single iteration to balance the load. More specifically, in this prior system, after the nominal SLS codes are reassigned to the newly restored link, a determination is made of the number of SLS codes each active link would be expected to carry if SLS codes were evenly distributed. Then each active link is examined to determine if the link has more than the xe2x80x9cexpectedxe2x80x9d number of SLS codes and if so, whether any of the SLS codes are not nominally assigned to that link. If a link has more than the xe2x80x9cexpectedxe2x80x9d number of SLS codes and some of the SLS codes of that link are not nominally assigned to that link, then the non-nominal SLS codes of that link are assigned to the newly restored link, until the newly restored link has the xe2x80x9cexpectedxe2x80x9d number of links. No attempt is made to reassign SLS codes to links other than the newly restored link. This method of reassigning SLS codes produces acceptable results but does not always produce even SLS code distribution. Observation of this prior method indicates that even SLS distribution is obtained about 75% of the time, where even distribution means each link in a link set has the same number of SLS codes or the difference in the number of SLS codes between any two links is no more than one.
The major drawback with prior methods and systems for SLS distribution is that even SLS distribution is not always achieved. In addition, because of the cost associated with actual reassignment of SLS codes to links, an iterative process that requires movement of an SLS code more than once is undesirable. Also, some prior methods and systems for SLS code distribution employ non-linear sorting algorithms, which are inefficient for large link sets with many SLS codes.
Therefore, a need exists for a method and apparatus for achieving even SLS distribution with a minimal number of actual SLS reassignments.
In accordance with one aspect of the present invention, a method of assigning signaling link selection (SLS) codes to a link in a link set is provided. A nominal or normal signaling link selection code assignment initially determines which signaling link selection codes are assigned to a link in a link set. The nominal signaling link selection codes are assigned to provide an even distribution of traffic over all the links in a link set. When a link in the link set becomes unavailable, the SLS codes assigned to that link are reassigned to other available links in the link set. When a link in a link set is restored to service and available to service traffic, the signaling link selection codes are reassigned to take advantage of the additional capacity.
First, the nominal signaling link selection codes associated with the restored link are allocated to the restored link. Then a determination is made of the minimum number of SLS codes that should be assigned to each available link in the link set. Preferably, the minimum number of SLS codes is determined by dividing the total number of SLS codes by the total number of available links, where the minimum number of SLS codes is the integer or whole number portion of the quotient from the division. Next a determination is made of the remaining number of SLS codes that would be unassigned if each available link had the minimum number of SLS codes assigned to it. This is the remainder from the division of the total number of SLS codes by the total number of available links.
After the minimum number of SLS codes and the remaining number of SLS codes is determined, each available link of the link set is examined to determine whether the number of SLS codes assigned to that link is acceptable to provide even SLS distribution. First each available link of the link set is examined to determine whether the available link has more than an acceptable number of signaling link selection codes assigned. The acceptable number of signaling link selection codes is equal to the minimum number of signaling link selection codes, except that a number of available links that is equal to the remaining number of signaling link selection codes will have the minimum number of signaling link selection codes plus an additional signaling link selection code. In other words, the remaining number of signaling link selection codes reflects the number of available links that will have one more than the minimum number of signaling link selection codes assigned to achieve even SLS distribution.
Any available link that has more than the acceptable number of signaling link selection codes assigned is designated as an over-a-maximum link. For each over-a-maximum link, the number of signaling link selection codes that must be reassigned to reduce the number of assigned SLS codes to equal the acceptable number of SLS codes are allocated to a buffer. After each over-a-maximum link is examined and the signaling link selection codes are allocated to the buffer, no available links will have more than an acceptable number of signaling link selection codes allocated to it. However, at this stage, some available links may have less than the acceptable number of signaling link selection codes allocated to them.
For each available link that has less than the acceptable number of signaling link selection codes allocated, signaling link selection codes from the buffer are allocated to this minimum link until the minimum link has the acceptable number of signaling link selection codes assigned. After the signaling link selection codes have been allocated such that each available link has the acceptable number of signaling link selection codes, the signaling link selection codes are assigned to the available links. After this assignment, each available link in the link set has the SLS codes evenly distributed.
An apparatus in accordance with the invention includes a plurality of trunks for communication, a processor coupled to the plurality of trunks to associate a link set with at least some of the plurality of trunks, and a memory storing signaling link selection codes that are assigned to each link of the link set. The processor assigns SLS codes to links of the link set in accordance with the method described above.